Presently, the Viterbi algorithm is often employed for decoding convolutionally encoded signals as an error-correcting code format in digital communications systems.
A Viterbi synchronization evaluation circuit is incorporated in a Viterbi decoder which decodes signals using the Viterbi algorithm, and evaluates whether the coding rate for decoding is matched to the coding rate used for encoding transmitted signals.
Item 25 in FIG. 2 shows the configuration of the Viterbi synchronization evaluation circuit in the Viterbi decoder.
A Viterbi synchronization evaluation circuit 25 comprises a metric value calculator 21, a metric value threshold memory 22, and a synchronization evaluation unit 24.
The input signal to the metric value calculator 21 is a signal comprising source data encoded with punctured codes, which are extended convolutional codes (hereafter referred to as the convolutionally encoded signal). The metric value calculator 21 calculates a specific number of path metric normalizations (hereafter referred to as the metric value) of the signal input to the Viterbi synchronization evaluation circuit during a preset metric value measuring time.
The metric value threshold setting unit 20 sets a metric value threshold value (hereafter referred to as the metric value threshold) for each predetermined multiple punctured coding rate (hereafter referred to as an individual coding rate). How set values are determined is explained later. The metric value threshold setting unit 20 stores each metric value threshold, determined according to the individual coding rate, in the metric value threshold memory 22.
Next, the metric value, calculated by the synchronization evaluation unit 24, is compared with one of the multiple metric value thresholds stored in the metric value threshold memory 22. Based on comparison, the synchronization evaluation unit 24 determines whether the Viterbi decoder is synchronized or not. More specifically, whether the coding rate used for decoding is the same coding rate as that used for encoding transmitted signals is evaluated.
In case of: EQU Metric value&lt;Metric value threshold,
decoding by the Viterbi decoder is judged to be synchronized to the input convolutionally encoded signal, and the synchronization evaluation unit 24 outputs a synchronous signal.
In case of: EQU Metric value&gt;Metric value threshold,
decoding by the Viterbi decoder is judged to be non-synchronized to the input convolutionally encoded signal, and the synchronization evaluation unit 24 outputs an asynchronous signal. When decoding is judged to be asynchronous, the Viterbi synchronization evaluation circuit 25 selects a metric value threshold of another coding rate stored in the metric value threshold memory 22, and recompares it with the next input signal calculated as a metric value by the metric value calculator 21.
This operation is repeated until Viterbi decoding is judged to be synchronized. In this way, the Viterbi synchronization evaluation circuit 25 determines whether Viterbi decoding is synchronized or not.
The coding rate used for convolutionally encoding the input signal can also be identified from the metric value threshold selected from the metric value threshold memory 22.
The metric value threshold used in the Viterbi synchronization evaluation circuit 25 in the prior art is determined as below by the metric value threshold determining device.
FIG. 3 shows a block diagram of a metric value threshold determining device for determining the metric value threshold used in the Viterbi synchronization evaluation circuit 25 in the prior art. The conventional metric value threshold determining device comprises a convolutional encoder 13, Viterbi decoder 17, a coding rate setting unit 31 for setting the coding rate to the convolutional encoder 13 and Viterbi decoder 17, a source data output unit for outputting source data, a Eb/No setting unit 14 for setting Eb/No which shows energy per bit/noise power density, a synchronous/asynchronous monitor 18 for monitoring synchronous/asynchronous state, a metric value measuring time setting unit 15 for setting the metric value measuring time, a metric value threshold setting unit 20 for setting the metric value threshold, and a metric value monitor 19 for monitoring metric values. A Viterbi synchronization evaluation circuit 25 is included in the Viterbi decoder 17. The s Viterbi decoder 17 decodes the signal using the Viterbi algorithm employing a coding rate set by the coding rate setting unit 31, which is the same coding rate as that set in the convolutional encoder 13.
The metric value threshold for individual coding rate which may be required to be stored in the metric value threshold memory 22 shown in FIG. 2 is determined by the metric value threshold determining device shown in FIG. 3.
Procedures for determining metric value threshold in the prior art are explained next.
The coding rate setting unit 31 sets coding rates used for transmitting source data to the convolutional encoder 13 and the Viterbi decoder 17. The source data output from the source data output unit 11 is convolutionally encoded by the convolutional encoder 13 using the coding rate set by the coding rate setting unit 31. The Eb/No setting unit 14 adds noise with a specified Eb/No level to the output signal from the convolutional encoder 13, and outputs it to the Viterbi decoder 17. The metric value monitor 19 measures the metric value while the metric value measuring time setting unit 15 changes the metric value measuring time. The synchronous/asynchronous monitor 18 then monitors the synchronous/asynchronous state.
When decoding is synchronized, the distribution 4a of metric values M measured by the metric value monitor 19 collects at small values in a small area as shown in FIG. 4A. The distribution may be dispersed at first, but it will stabilize as the metric value measuring time is extended. The maximum value in the distribution of metric values is considered to be M1.
The signal whose output order of convolutionally encoded signal is intentionally changed or whose Eb/No is intentionally impaired by the Eb/No setting unit is then input to the Viterbi decoder 17. Viterbi decoding of the signal after such operation becomes asynchronous, and metric values M measured by the metric value monitor 19 in the asynchronous state exceed the values in FIG. 4A. Its distribution 4b will be as shown in FIG. 4B. The minimum value in this metric value distribution is considered to be M2.
FIG. 4C is the combination of the metric value distributions 4a and 4b in FIGS. 4A and 4B. When the metric values M for the synchronous and asynchronous states measured during a specified metric value measuring time do not overlap and are separately distributed as shown in FIG. 4C, the metric value measuring time can be judged to be effective. The values M1 to M2, values between the synchronous and asynchronous states which are distributed separately, are then selected and determined as the metric value threshold. The metric value threshold for each of coding rates is determined following the above procedures.
The prior art, however, did not consider the relation with metric values for other coding rates. Therefore, when the transmitted signal is convolutionally encoded using a coding rate different from that set in the Viterbi decoder 17, metric values M generated by decoding this signal may show the distribution 4Xb. Specifically, the minimum metric value M2 for the asynchronous state may fall below the maximum metric value M1 for the synchronous state. Metric values for the synchronous and asynchronous states are therefore not separated: they overlap, disrupting determination of the appropriate metric value threshold.